function ModuleDialogMark(doc, container, width, height, user, date, options) {
  this._doc = doc;
  this._container = container;
  this._width = width;
  this._height = height;
  this._user = user;
  this._date = date;
  this._options = options;
  
  this._object = (options && options.object) ? options.object : null;
  this._dfault = (options && options.dfault) ? options.dfault : '';
  this._gui = new DialogMark(this._doc, this._container, this._width, this._height, this._user, this._date, this._options)._gui;
  
  this._createElements();
};

ModuleDialogMark.prototype._createElements = function() {
  var table, tr, td, radio, input, unique = MiscUtils.unique(), _self = this;
  
  DOMUtils.removeChildElements(this._gui.score);
  DOMUtils.removeChildElements(this._gui.modify);
  
  if (this._object.photographer2) {
    table2 = document.createElement('table');
    table2.cellPadding = 0;
    table2.cellSpacing = 0;
    this._gui.score2.appendChild(table2);
    
    tr = table2.insertRow(-1);
    for (var i = 0, il = Score.array().length; i < il; i++) {
      var score = Score.array()[i];
      td = tr.insertCell(-1);
      td.style.padding = '0 1px';
      radio = DOMUtils.createInput(unique + '_score2', null, 'radio', null, null);
      radio.checked = (this._object.score2 == score);
      radio._score = score;
      if (radio.checked) {
        this._object.score2 = score;
      }
      radio.onclick = function() { _self._object.score2 = this._score;
                                 };
      td.appendChild(radio);
      
      td = tr.insertCell(-1);
      td.style.padding = '0 1px';
      td.style.textAlign = 'left';
      td.appendChild(document.createTextNode(score));
    }
    
  } else {
    this._gui.pscore.style.display = 'none';
  }
  
  table = document.createElement('table');
  table.cellPadding = 0;
  table.cellSpacing = 0;
  this._gui.score.appendChild(table);
  
  tr = table.insertRow(-1);
  for (var i = 0, il = Score.array().length; i < il; i++) {
    var score = Score.array()[i];
    td = tr.insertCell(-1);
    td.style.padding = '0 1px';
    radio = DOMUtils.createInput(unique + '_score', null, 'radio', null, null);
    radio.checked = (this._object.score == score);
    radio._score = score;
    if (radio.checked) {
      this._object.score = score;
    }
    radio.onclick = function() { _self._object.score = this._score;
                               };
    td.appendChild(radio);
    
    td = tr.insertCell(-1);
    td.style.padding = '0 1px';
    td.style.textAlign = 'left';
    td.appendChild(document.createTextNode(score));
  }
  
  table1 = document.createElement('table');
  table1.cellPadding = 0;
  table1.cellSpacing = 0;
  this._gui.modify.appendChild(table1);
  
  tr1 = table1.insertRow(-1);
  td1 = tr1.insertCell(-1);
  td1.style.padding = '0 1px';
  radio0 = DOMUtils.createInput(unique + '_ss', null, 'radio', 1, null);
  radio0.checked = (this._object.is_asst_retouched == radio0.value);
  
  if (radio0.checked) {
    this._object.is_asst_retouched = radio0.value;
  }
  radio0.onclick = function() { _self._object.is_asst_retouched = this.value;
                                _self._object.asstretouched_date = _self._date;
                             };
  td1.appendChild(radio0);
  
  td1 = tr1.insertCell(-1);
  td1.style.padding = '0 1px';
  td1.style.textAlign = 'left';
  td1.appendChild(document.createTextNode('修片'));
  
  td1 = tr1.insertCell(-1);
  td1.style.padding = '0 1px';
  radio1 = DOMUtils.createInput(unique + '_ss', null, 'radio', 0, null);
  radio1.checked = (this._object.is_asst_retouched == radio1.value);
  
  if (radio1.checked) {
    this._object.is_asst_retouched = radio1.value;
  }
  radio1.onclick = function() { _self._object.is_asst_retouched = this.value;
                                _self._object.asstretouched_date = 0;
                             };
  td1.appendChild(radio1);
  
  td1 = tr1.insertCell(-1);
  td1.style.padding = '0 1px';
  td1.style.textAlign = 'left';
  td1.appendChild(document.createTextNode('不修片'));
  
  this._gui.input.value = this._dfault;
  this._gui.input.onchange = function() { _self._object.score_detail = this.value; 
                                          _self._object._text = this.value;
                                        };
};